package com.juzi.chongzai;

import java.util.Scanner;

public class MethodDemo1 {
    public static void main(String[] args) {
        //目标：识别方法重载的形式。并理解其调用流程，最后需要知道使用方法重载的好处。
        //可读性好，方法名称相同提示是同一类型的功能，通过形参不同实现功能差异化的选择，这是一种专业的代码设计
        fire();
        fire("岛国");
        fire("岛国", 1000);

        System.out.println("请输入选择：1 2 3，输入4，将结束程序");
        Scanner sc = new Scanner(System.in);
        Scanner st = new Scanner(System.in);
        while (true) {
            int a = sc.nextInt();
            if (a == 4) {
                return ;
            }else {
                switch (a) {
                    case 1:
                        fire();
                        break;
                    case 2:
                        System.out.println("请输入地址，将默认发射一枚火箭给该地区");
                        String b = st.next();
                        fire(b);
                        break;
                    case 3:
                        System.out.println("请输入地址以及数量，将发射该数量火箭给该地区");
                        String b1 = st.next();
                        int a1 = sc.nextInt();
                        fire(b1, a1);
                        break;
                    case 4:
                        break;
                    default:
                        System.out.println("请重新输入");
                }
            }
        }
    }

    public static void fire(){
        fire("漂亮国");
//        System.out.println("默认发射一枚武器给漂亮国(●'◡'●)");
    }

    public static void fire(String location){
        fire(location,1);
//        System.out.println("默认发射一枚武器给" + location + "(●'◡'●)~~");
    }

    public static void fire(String location,int number){
        System.out.println("默认发射" + number +"枚🚀给" + location + "(●'◡'●)~~");
    }
}
//1.方法重载是什么样的？
//  同一个类中，多个方法的名称相同，形参列表不同。
//2. 使用方法重载的好处 ？
//  对于相似功能的业务场景：可读性好，方法名称相同提示是同一类型的功能，
//  通过形参不同实现功能差异化的选择，这是一种专业的代码设计。
